load("@io_bazel_rules_go//go:def.bzl", "go_library")
load("//bazel/go:go_test.bzl", "go_test")

go_library(
    name = "config",
    srcs = [
        "attestation.go",
        "attestationversion.go",
        "aws.go",
        "azure.go",
        "config.go",
        "config_doc.go",
        "gcp.go",
        # keep
        "image_enterprise.go",
        # keep
        "image_oss.go",
        "validation.go",
    ],
    importpath = "github.com/edgelesssys/constellation/v2/internal/config",
    visibility = ["//:__subpackages__"],
    deps = [
        "//internal/api/attestationconfigapi",
        "//internal/api/versionsapi",
        "//internal/attestation/idkeydigest",
        "//internal/attestation/measurements",
        "//internal/attestation/variant",
        "//internal/cloud/cloudprovider",
        "//internal/compatibility",
        "//internal/config/disktypes",
        "//internal/config/imageversion",
        "//internal/config/instancetypes",
        "//internal/constants",
        "//internal/encoding",
        "//internal/file",
        "//internal/role",
        "//internal/semver",
        "//internal/versions",
        "@com_github_go_playground_locales//en",
        "@com_github_go_playground_universal_translator//:universal-translator",
        "@com_github_go_playground_validator_v10//:validator",
        "@com_github_go_playground_validator_v10//translations/en",
        "@com_github_siderolabs_talos_pkg_machinery//config/encoder",
        "@in_gopkg_yaml_v3//:yaml_v3",
        "@org_golang_x_mod//semver",
    ],
)

go_test(
    name = "config_test",
    srcs = [
        "attestation_test.go",
        "attestationversion_test.go",
        "config_test.go",
        "validation_test.go",
    ],
    data = glob(["testdata/**"]),
    embed = [":config"],
    deps = [
        "//internal/api/attestationconfigapi",
        "//internal/attestation/measurements",
        "//internal/attestation/variant",
        "//internal/cloud/cloudprovider",
        "//internal/config/instancetypes",
        "//internal/constants",
        "//internal/encoding",
        "//internal/file",
        "//internal/semver",
        "//internal/versions",
        "@com_github_go_playground_locales//en",
        "@com_github_go_playground_universal_translator//:universal-translator",
        "@com_github_go_playground_validator_v10//:validator",
        "@com_github_spf13_afero//:afero",
        "@com_github_stretchr_testify//assert",
        "@com_github_stretchr_testify//require",
        "@in_gopkg_yaml_v3//:yaml_v3",
        "@org_golang_x_mod//semver",
        "@org_uber_go_goleak//:goleak",
    ],
)
